{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 82,
   "id": "30952fb6-d464-4d1a-b675-415616d8dcd7",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "id": "0ba97c50-2eef-4f12-ade2-d74e342aa3b5",
   "metadata": {},
   "outputs": [],
   "source": [
    "with open(\"D:\\\\大学计算机\\\\大作业爬虫网页\\\\urls.txt\",'r')as file:\n",
    "    #逐行读取\n",
    "    urls=file.readlines()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "id": "ef441704-b19d-41b4-a768-f530e0518bc8",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "https://zhuanlan.zhihu.com/p/606117069\n",
      "\n",
      "https://baike.baidu.com/item/%E4%BF%AF%E5%8D%A7%E6%92%91/6202\n"
     ]
    }
   ],
   "source": [
    "for url in urls:\n",
    "    print(url)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "id": "9f1c7ade-3c27-453f-9d83-96c6a60e5a2c",
   "metadata": {},
   "outputs": [],
   "source": [
    "import requests\n",
    "from bs4 import BeautifulSoup"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 105,
   "id": "f34aaa4c-afc4-4541-aaca-3b5ecafc1575",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "随着双码时代的逝去，旅游业开始复苏，作为一名爬山爱好者，黄山一共去了4次，看网上没有特别详细的攻略，这里来制定一份，去年就想写了，结果拖到现在，有什么疑问，可以评论询问~\n",
      "如果本文对你有所帮助，麻烦收藏赞成支持下谢谢啦~\n",
      "本文有目录，可以按照需求进行阅读\n",
      "不定期进行更新~（2023.4.24日对部分内容进行修改，关于一日游路线部分）\n",
      "本文所用景色图片，虽然拍摄手法极为不专业，但来之不易，未经允许，不得使用，谢谢。\n",
      "本文主要是路线、时间、居住地以及一些注意事项等，非软文，非抒情。\n",
      "\n",
      "\n",
      "首先科普一下，当你打开地图软件，搜索黄山，会弹出多个词条选项，我们要去的目的地叫\n",
      "“黄山风景区”\n",
      "，不是\n",
      "“黄山市”\n",
      "，黄山风景区处在黄山市辖范围以内，但是还是有一段距离的。（见下图）\n",
      "\n",
      "\n",
      "红圈部分为广义上的黄山市（一般指屯溪区），是黄山的市中心，相对来说配套齐全一些，蓝圈部分为黄山景区，从屯溪到黄山景区（最近为南门），不堵车的情况下，自驾需要75分钟左右。\n",
      "\n",
      "关于游览天气和季节选择：\n",
      "黄山有四绝，奇松，怪石，云海，温泉，对于首次游览者，\n",
      "还是推荐晴天去\n",
      "，这样可以对各个景点的景色一览无余，晴天可以保障除了云海以外都看得到~\n",
      "阴雨天的话，视线受阻，一些景点看不到，而且如果地面潮湿的话，在装备不齐全的情况下，爬山多有不便，比如鞋子湿了呀，滑倒了呀，或者衣服湿了着凉感冒等~\n",
      "季节的话，5、6和8、9月份肯定是比较舒适的。\n",
      "没有很冷，也没有特别热。特别热的天气爬山，失水比较严重，爬到一半已经大汗淋漓，渴的不行，需要准备充足的水，否则还没到下一个饮水点，就已经没水了。比较冷的天气爬山，由于运动也会出汗，停下来的时候，热量散失又特别快，容易着凉感冒。\n",
      "以上都是推荐给爬山经历没有特别丰富以及初次去黄山的人。\n",
      "其实，黄山真的是四季都有不同的景色，各个天气都有各个天气的美，有能力的人，是值得多去几次的，中国的名山我基本去了个遍，黄山目前在我心中还是名列前茅的~\n",
      "\n",
      "\n",
      "\n",
      "黄山景区入口介绍：\n",
      "首先，黄山共有三个景区入口，分别为南入口（汤口镇），北入口（耿城镇），西入口（常年处于关闭状态，但是看到过有人从这边上去过，不知道是不是有什么当地人的途径，但是这边网上没法买票，也几乎没人从这里走，这里没有交通，酒店也很少，但是有房车基地）。\n",
      "三个入口中，通常情况下南入口客流量占85%，北入口占15%（数据来源于黄山官方平台）。\n",
      "\n",
      "PS：给一些没有爬山经验的小伙伴补充一下，一般的XX山风景区呢，都有高山，峡谷，瀑布等，总的来说呢，你把它相像成中间高四面低的一个“广义上的山”，所以想穿山而过（如红蓝箭头）是\n",
      "不可能的\n",
      "，没有路，步行都不可能，所以一定要看好路线和景区入口。虽然地图上可能只有几公里，实际绕起来要几十公里。\n",
      "图中绿色驾车路线为从黄山南门到北门，山路较多，驾车约90分钟以上。\n",
      "\n",
      "\n",
      "南门：\n",
      "南门的优点是，交通便利，主流的几个景观（官方宣传的如迎客松等）在这边，对非自驾游友好，且有多条路线上山，导游基本都选择这条路线。\n",
      "缺点是，宾馆普遍条件一般，价格不低（因为人流量大）。\n",
      "\n",
      "需要自驾或者乘坐黄山市区的大巴先来到汤口镇。\n",
      "汤口镇就有换乘中心（红圈，官方叫寨西换乘中心），非自驾的小伙伴在这里乘坐“新国线”到达南大门游客中心（黑圈，景区南大门，真正的景区入口），需要15分钟。\n",
      "自驾游的小伙伴直接开车开到黑圈部分（游客中心），停车即可，准备上山。\n",
      "另外找不到寨西换乘中心也不要紧，随便问当地人都可以。\n",
      "PS：非自驾小伙伴，一般是住宿宾馆提供专车到达游客中心（可能会收取一点费用，自行协商）。\n",
      "\n",
      "到了黑圈，黄山旅途正式开始~\n",
      "检票后，有几种路线可以选择，这里介绍两种最常见的：\n",
      "A路线（黄色箭头），从游客中心乘坐官方大巴到玉屏索道站（黄圈部分），乘坐缆车上山。\n",
      "B路线（蓝色箭头），从游客中心乘坐官方大巴到云谷索道站（蓝圈部分），乘坐缆车上山。\n",
      "PS：自驾的话，只能到达游客中心，再往上不允许社会车辆出入，必须换乘。\n",
      "从游客中心到索道站，估计20分钟左右吧~\n",
      "南门住宿：\n",
      "非自驾小伙伴可以选择在红圈附近或者红圈至黑圈路上居住，宾馆非常多，但是条件普遍一般，都是经济实惠型，所有宾馆基本上都可以提供专车直达游客中心（黑圈）。\n",
      "\n",
      "北门：\n",
      "北门为小众路线，自驾游和时间充足的小伙伴可以体验，优点是人少（上次是国庆去的，北门人也没多少~），缺点是非自驾交通不便利。\n",
      "\n",
      "和南门大同小异，我们的最终的目的都是到达游客中心。\n",
      "住宿可以选择在红圈部分（黄山区中心，配套好一些），从红圈开车自驾到黑圈游客中心需要30分钟左右。\n",
      "选择在黄圈部分（耿城镇）住宿的小伙伴，开车到游客中心需要15-20分钟，个人推荐住在耿城，吃的东西虽然没有很多，但是足够，外卖丰富，其次度假酒店很多，条件很好价格又很便宜（因为北门人少）。\n",
      "到达游客中心后有几条路线可以选择，一般情况下，从游客中心换乘，乘坐官方大巴，到达太平索道站（蓝圈），乘坐缆车上山。\n",
      "\n",
      "购票：\n",
      "本人旅游一律选择官方平台购票，因为不会出现各种各样的问题，省事，第三方平台可能会便宜个几块钱，但是之前出现过现场又要确认的情况，麻烦！\n",
      "微信小程序：\n",
      "黄山旅游官方平台\n",
      "进入后选择门票预定→黄山风景区\n",
      "\n",
      "\n",
      "从上到下简单解释一下：\n",
      "1.云谷方向入园，即上文南门B路线。\n",
      "2.玉屏索道入园，即上文南门A路线。\n",
      "3.太平索道入园，即上文北门路线。\n",
      "4.下行索道预定，从山上至山下，看你选择从哪里下山。\n",
      "每个选项点进去之后，都可以购买门票，套票（包含索道饮食等），单独的索道票，以及从游客中心到索道站的车票等等，人多的时候记得提前预约门票。检票方式均为刷二代身份证。\n",
      "\n",
      "一些注意事项（曾经踩的坑）：\n",
      "非旅游常客和学生党请看\n",
      "：\n",
      "首先科普，“黄山风景区”一般指的就是主景区，周围还有很多小型景区（经常旅游的人应该明白）。一些没良心的“当地人”，会用各种方式告诉你，类似你这个时间上山，下不来，住在山上一万一千多，不如让他给你“设计”一些路线，保证你能游览完。\n",
      "他们给你设计的多半就是，非主景区的，九龙瀑，翡翠谷等小景区，当然也属于黄山，也很美，但是都是小型景区，如果你是抱着来看黄山的，这显然与初衷不符，这里一定要注意！问清楚到底去哪里。\n",
      "这些人多半在公交站，换乘中心附近寻找目标，主要就是经验不足的学生， 本人第一次去就踩了坑，希望大家可以避免~\n",
      "\n",
      "上山前的准备：\n",
      "1.鞋套，那种套个袋子类型的鞋套通通不要，没有任何意义，对于爬山来说是非常大的阻碍，走几步就会磨破，甚至滑倒。如果不幸赶上雨天，游客中心有热熔塑封鞋套，即在你的鞋上套上一层东西，然后用热风吹，类似给东西包上了一层膜，这个东西蛮好用的，推荐！\n",
      "2.雨衣，雨衣没什么要求，一次性的或者是提前购买好的质量好一些的都可以，雨天必备，否则容易着凉感冒。\n",
      "3.登山杖，个人觉得是必备，可以极大的缓解膝盖的压力，路上买的木头杖子20一根，也有点用，但是不推荐。本人用的是探路者的碳纤杖，这东西最好能伸缩，因为上山和下山需要的长度是不同的（下山更长），保持大臂和小臂90度垂直，是最适宜的长度。爬山经验丰富的人，知道这东西有多重要，特别是在你已经累了一天的时候，手臂上的一点点劲，都可以极大的缓解双腿的压力。\n",
      "4.登山包，如果带的东西不多的话，可以忽略，带的东西多的话，尽量专业的登山包。登山包和普通包最大的区别就是它能把垂直重量加在腰腹，普通背包背一会肩膀就受不了了，登山包肩膀是放松的~\n",
      "5.登山鞋，不一定要专业鞋子，选用比较轻便，防滑效果好的鞋子，能让你上山的时候更省力，本人一般就穿跑步鞋，因为这毕竟是个景区，路面效果还是非常好的~\n",
      "6.防蚊虫的喷雾，根据需求准备\n",
      "7.适量的食物和水，山上有饮水的地方，但是水流小需要排队，可以自备2瓶电解质水。山上食物单一昂贵，如果觉得体力不行，可以准备一些压缩饼干。\n",
      "PS：很多人在山上吃自热火锅也蛮惬意的，不过这种适合时间并不赶，在山上居住的人~\n",
      "8.帽子，遮阳帽或者户外渔夫帽，可以有效避免面部晒黑，并且可以保暖以及挡雨，可根据需要准备。\n",
      "9.个性物品，如相机，充电宝，便携茶具，等等，根据个人需求准备。\n",
      "\n",
      "关于几条索道：\n",
      "\n",
      "太平索道：\n",
      "单节车厢人比较多，影响观景和拍照，如果上下山只选择一条索道的话，不推荐。\n",
      "玉屏索道和云谷索道：\n",
      "差不多，最多8人，但是一般情况下控制在4-5人左右，观景体验很好，适合光线好天气好的时候乘坐。\n",
      "\n",
      "整理了几张照片：\n",
      "黄圈内的部分景色（全部无滤镜）：\n",
      "索道\n",
      "怪石奇松\n",
      "山顶的景色\n",
      "西海部分景色：\n",
      "\n",
      "\n",
      "\n",
      "西海照片比较少，原因是真的太累了，累到没有心情拍太多照片~\n",
      "整体景色跟黄圈内还是有一些差别的，非常的美\n",
      "\n",
      "一次小小的游记：\n",
      "按原定计划出发去黄山，赶上了天气不太好的时候，阴天，还有毛毛细雨。\n",
      "准备了一顶户外渔夫帽，可以避免头部潮湿而感冒~\n",
      "登山杖必备，老玩家都懂~\n",
      "\n",
      "\n",
      "早上8点，山脚下的天气~北门游客中心的路比较泥泞，人还是不少的，排队的有大概五六十人。\n",
      "坐上大巴了\n",
      "能见度很低对不对？感觉能见度不到50米~这就是为什么不允许社会车辆进入，感觉这种天气社会车辆根本开不了啊，不熟悉路况，只能慢慢开，万一有小事故，所有人都得在半路堵着，谁也别想上山了。\n",
      "司机师傅大雾天依然开得飞快~驾驶技术娴熟\n",
      "索道站的走廊\n",
      "趁着索道还在排队的空档，去了趟洗手间，整理登山杖，水壶等，下了索道就准备开始步行了~\n",
      "到了这个高度，能见度更低了，可能只有20米了。\n",
      "索道路上\n",
      "乘坐索道的路上，稍微有一点点小失望，和之前来比，确实能见度太低，远处的东西什么也看不到~\n",
      "索道路上\n",
      "索道进行到一半，哦豁~ 我激动得差点喊了出来\n",
      "这一刻感觉一切都值啦，太美了~ 黄山云海真是名不虚传\n",
      "再来几张\n",
      "\n",
      "\n",
      "以下为山上的部分景色，我只能说看到这种景色，真的需要一点点运气呀~\n",
      "\n",
      "\n",
      "\n",
      "是不是人间仙境的感觉？\n",
      "感觉黄山随便拿出几张图，稍微的调整一下色彩和明暗，都可以拿来做背景啦~\n",
      "黄山山顶之云海\n",
      "https://www.zhihu.com/video/1613819060877160449\n",
      "视频二倍速处理，30秒一个山就不见了~\n",
      "所以说其实各个季节各个天气都是可以尝试游玩黄山的~\n",
      "\n",
      "山上的路线和时间以及注意事宜：\n",
      "\n",
      "老规矩还是先科普，绿圈称之为西海，红框称之为北海，黄圈是常规旅游区。\n",
      "西海人少，坡度非常大，对攀登体力有很大要求，景色很美。\n",
      "北海人气相对来说较低，一般都是黄圈玩完了有时间的话就去看一看，专门游玩的较少。\n",
      "黄圈部分，名气最大，人也最多，坡度小，只要不是身体特别差的中老年，黄圈部分玩完当天上下山没什么问题。\n",
      "\n",
      "PS：这里重要补充一点，天都峰、莲花峰两峰（图中有标注），非常的陡峭，对体力有很大的要求，平时没有锻炼身体习惯的人，又要当天上下山的，不建议攀登。\n",
      "两峰以年为单位交替开放，路窄且陡峭，山去之后只有极小的观景平台，且对恐高者非常的不友好，不过喜欢挑战的朋友可以爬一爬。\n",
      "作为参考，本人每周有氧2次左右，身体能力适中，索道上下山，玩完黄圈所有部分加上爬个莲花峰，时间勉强够用，就是非常累。\n",
      "另外说一句，图中的路程和时间看个乐呵就好，因为距离基本上都是直线距离，实际走起来绕来绕去加上下坡，有时候0.5KM，要走1小时（绝对不是夸张）。\n",
      "接下来分开讲解一下：\n",
      "常规旅游部分（黄圈）：\n",
      "景点数目最多，路线相对平缓，人很多，饮食住宿指引应有尽有，一般的中老年旅游团和普通旅行者都在这个区域活动，导游几十个，工作人员也都在这个区域内，所以完全不用担心迷路，上厕所，或者饿肚子等等各种问题，随便找个人问问都可以搞清楚。\n",
      "在你不走回头路的情况下，慢慢游完这个区域，估计5个小时足够了，加上上下山，一天的时间差不多。\n",
      "这边没有什么需要注意的东西，各方面相对友好。\n",
      "西海：\n",
      "\n",
      "\n",
      "我用黄色箭头和红色箭头分别标注了两条路线，总的来说，这两条路线非常非常辛苦。\n",
      "A路线（黄色箭头）\n",
      "：从海心亭附近到三溪桥，基本上为下坡，三溪桥到排云溪为上坡，然后从峡谷底部（排云溪）坐地轨缆车到天海回到常规区域。\n",
      "B路线（红色箭头）\n",
      "：可以选择从天海站坐地轨缆车下到排云溪，然后从排云溪一路上行，大部分为上坡，末段较为平缓（过了一环后）。\n",
      "为啥两条路线我都说坐地轨缆车呢？\n",
      "因为你想绕完这一整圈，根本不可能。\n",
      "黄色箭头部分，虽然下坡较多，但是非常非常陡峭，对膝盖冲击力极大，在你基本上不休息的情况下，保守估计也要3.5小时左右，路上遇到的基本上都累的说不出话，或者走到一半放弃就回去了，最后连游玩的心思都没有了，别看地图上就这么小半圈，根本不是正常人可以承受的。\n",
      "如果是当天上下山的，这边就不需要考虑了，时间不够，住在山上的人，或者二次上山专门玩西海的，且体力较好的可以考虑。\n",
      "红色箭头部分，全程上坡，对力量要求极大，不过实际上路程要比黄色箭头路线短一点，如果体力好的话，大概2.5小时可以搞定，但是同样，无比陡峭，对恐高患者极不友好，路只有1米宽，外面就是万丈深渊。\n",
      "既然两条路线都这么辛苦，为什么还要走？\n",
      "个人认为，西海的景色是最美了，峡谷溪流，别样风光。\n",
      "关于地轨缆车：\n",
      "1.个人认为算是少有的一个坑点，把它当做接驳工具的话，完全可以，观光的话就算了。\n",
      "2.它的行进路线两边都是峡谷，遇上天气不好以及光线昏暗的时候，基本上看不到什么东西。\n",
      "3.全程时间极短，应该是在4分钟以内甚至更短。\n",
      "4.所有人在一个3层的缆车舱，人多的时候你连靠窗都做不到，怎么观光？\n",
      "5.所有索道中最贵的价格。\n",
      "总的来说，如果有人跟你说坐缆车上下观光，那就算了，没有任何意义，拍照的时间都没有，只能下到谷底，而谷底又极其狭窄昏暗，缆车站周围没什么值得拍照的地方。如果选择步行下到固定坐缆车上去，或者坐缆车下到谷底，步行上去，我觉得还有一些意义，节省了一部分时间和体力。\n",
      "北海：\n",
      "\n",
      "如果是西海很美，但是由于体力和时间因素，很多人望而却步，那北海就是真的人气很低，几乎没有人会特意去游玩这条路线，大部分都是顺带看一下。\n",
      "如从北门上山，上山的路上经过北海这边，或者从北门下山的时候顺带拍一些照片。\n",
      "北海这边整体路线较为平缓，路途较短，景点较少，名气最小。没有什么太复杂的路线，地图一目了然，想来北海方向观赏的朋友，可以在规划路线的时候顺便从这边绕一下，绿色这一圈仅虚80分钟，便可结束~\n",
      "没有什么太多需要介绍的部分~\n",
      "一些常规路线：待更\n",
      "选择步行上山：\n",
      "上边主要介绍的都是乘坐索道上行然后开始步行的路线（绝大部分黄山旅游推荐都会这么做），很少有选择步行上山的，\n",
      "首先从游客中心到索道站这一段只有盘山公路，为了安全期间，不允许步行，\n",
      "如果选择步行上山，就是从游客中心坐景区大巴，到达索道站附近，然后步行上山。\n",
      "步行上山共有三条路线，即前山慈光阁附近开始一路直上，后山云谷寺开始一路直上，北门松谷庵开始一路直上。\n",
      "其中，前山景点最多，途中包括两大限时开放主峰之一天都峰，如果爬峰的话，预计4-6小时到达迎客松，不爬峰的话，预计3-4小时到达迎客松。\n",
      "后山路线景点较少，路途较短，大概需要2-3小时到达白鹅山庄附近。\n",
      "北门上山路线，几乎无景点，3-5小时，到达北海宾馆附近。\n",
      "有人可能会问为什么时间差别这么大，其实还是和体力以及游玩方式相关，旅游不是为了一直走一直爬，走走停停，歇歇吃吃，拍拍照片，可能时间就用的比较久，如果什么都不看，一个劲走，那可能用的时间就短一些。\n",
      "总的来说，一日游的不推荐步行上山，或者下山，因为时间不够用，一般情况下我们按6点多起床，吃完早餐，加上路上排队等因素，乘坐索道的话到山上也要10点多了，黄圈内的景点都慢慢的逛一逛，逛完了预计也要到3点半以后了，这时候其实已经比较疲惫了，步行下山的话加上晚上视线受阻等因素，非常的不方便，且晚上温度低，又看不见，体验非常差，还有点恐怖~\n",
      "\n",
      "PS：说了这么多，却一直没有推荐什么路线，因为我觉得，最适合你的路线需要你自己去发掘，而不是我来告诉你，我把每一个点都讲清楚之后，根据时间体力游玩方式等因素，应该很容易就可以制定一个最适合你的路线了，有些人要带小孩，带老人，有些人时间不充足，所以所谓的常规路线不一定适合所有人，还是建议大家自己制定。\n",
      "\n",
      "\n",
      "\n",
      "关于酒店：\n",
      "评论区很多朋友在问关于山顶酒店住宿的问题，事先声明，酒店我不是每一个都住过，不过我结合自身经历和网上资料整理，稍稍的写一下。\n",
      "1.\n",
      "黄山排云型旅酒店\n",
      "：标间价格一般在1200-1500，2021年装修，设施很新，在西海峡谷附近，决定游玩西海的朋友可以考虑。\n",
      "2.\n",
      "黄山光明顶山庄\n",
      "：老牌酒店，2015年装修，条件一般，标间价格在1500-1800，人非常多，比较受大众的认可。\n",
      "3.\n",
      "黄山西海饭店\n",
      "：星级酒店，2016年装修，条件很好，也在西海峡谷附近，标间1000-1500不等。\n",
      "4.\n",
      "黄山白云宾馆\n",
      "：标间1000-1500，2008年装修，设施老旧，地理位置不错，在小火车鳌鱼峰附近，距离日出观看点有一定距离。\n",
      "5.\n",
      "黄山狮林大酒店\n",
      "：北海附近，北海人少所以酒店人少，价格也相对便宜，标间800-1300，2014年装修，条件适中，可以在猴子观海附近看日出，据说酒店提供特色摄影服务。\n",
      "6.\n",
      "701发射台招待所\n",
      "：条件很差，但是很便宜，也在光明顶附近，有很多上下铺，很多人一间那种，最便宜一张床位200以下，适合穷游党，标间价格800-1000，2014年装修。\n",
      "7.\n",
      "黄山北海宾馆\n",
      "：还在建设中。\n",
      "对于看日出来说，大众认可度比较高的是光明顶山庄和白云宾馆，客流量也是最多的。不过我个人喜欢条件好一点的，哪怕第二天早上多走半小时，也是可以接受的，所以大家可以根据自身情况选择。\n",
      "PS：每个酒店都可以看日出日落，区别也就是角度以及需要走的路程。另外某鱼上好像有一些优惠订酒店的，可以去问一问~\n",
      "\n",
      "\n",
      "关于一日游路线（2023.4.24进行修改）：\n",
      "发现很多人在评论区里问一日游的路线，今天来简单说一下。\n",
      "先来进行一下时间模拟：对于上山来说，一般情况下从酒店出发到游客中心到索道下站，算上排队，差不多要1.5小时的时间，到达山上，这还是比较顺利的情况，万一旺季排队较长，时间可能会更长。\n",
      "这样到达任意索道上站的，估计最早也要9点多了。考虑到体力问题，我认为一般人最多一天可以连续行走5个小时（其实已经非常勉强了，因为是山路，和平地5个小时不是一个概念），加上休息的时间，差不多一共可以游览7个小时左右，然后就要准备下山了。\n",
      "5个小时的行走时间，可以把黄圈内全部玩完。\n",
      "\n",
      "西海（绿圈）就不要考虑了，是整个黄山最难走的部分，时间不够用，至于要不要坐趟缆车，下去再上来，我的建议是算了，因为时间很短，视线也受阻，体验一般（详情可往上翻阅西海缆车介绍部分）。\n",
      "所以建议一日游的游客\n",
      "，可以从前山坐玉屏索道上山，沿紫色线路从索道上站→光明顶→排云楼宾馆→到黑虎松→到云谷索道，坐缆车下山，大方向如此，实际可以根据体力情况，适度游览其他景色。\n",
      "也可以从后山云谷索道上山，反过来走。\n",
      "注：如果是一日游且按照上述路线游览整个黄圈部分的游客，天都峰、莲花峰不建议去，比较消耗体力，爬了这两个之后，你可能失去了游览的兴趣，你坚持下山没什么问题，但是后半程基本上无心看景，全程都在想什么时候能到？什么时候能下山？失去了旅游的意义~\n",
      "PS：无论前山还是后山都是最后到南门游客中心附近集合~\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "更新不易，请多多支持，谢谢~\n",
      "\n",
      "知道了以上的东西之后，对于路线，居住等基本上也有了一个大致的印象，至于山上选择怎么游玩，怎么安排，后面我会慢慢补充。对于一些还没去过的小伙伴，上述已经足够让你避免踩坑了。\n",
      "今天有点累了，后面会慢慢更。\n"
     ]
    }
   ],
   "source": [
    "#发送GET请求到目标网址\n",
    "res1 = requests.get(urls[0])\n",
    "res1.encoding = 'utf-8'\n",
    "data = res1.text\n",
    "# 使用BeautifulSoup解析HTML内容\n",
    "soup1 = BeautifulSoup(data, 'html.parser')\n",
    "result=[]\n",
    "bodys1 = soup1.find('div',class_='RichText ztext Post-RichText css-jflero' )\n",
    "for body in bodys1:\n",
    "    result1 = body.get_text(strip=\"True\",separator='\\n')\n",
    "    result1=result1.replace('\\n', '\\r\\n')\n",
    "    result.append(result1)\n",
    "    print(result1)\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "id": "e9935942-3f39-467d-94ea-60d08fae50bd",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Found 6 tables.\n",
      "\n",
      "Table 1:\n",
      "       0                                1\n",
      "0  高姿俯卧撑  在做练习时，练习者的身体姿势是脚低手高，手脚不在一个水平面上。\n",
      "1  中姿俯卧撑           在做练习时，练习者的脚和手都在一个水平面上。\n",
      "2  低姿俯卧撑      在做练习时，练习者的脚高手低，手脚不在一个水平面上的。\n",
      "\n",
      "Table 2:\n",
      "         0                                           1\n",
      "0  超长距离俯卧撑       主要锻炼胸大肌外侧和肱二头肌。当肘关节角度大于135度时主要是肱二头肌发力\n",
      "1    宽距俯卧撑          大约在一点五倍肩宽，主要锻炼胸大肌外侧，同时发展三角肌前束、肱三头肌\n",
      "2   中距离俯卧撑        略大于肩宽，主要锻炼胸大肌中部（增加厚度），同时发展三角肌前束、肱三头肌\n",
      "3    窄距俯卧撑  小于肩宽，双手置于两乳头前，主要锻炼三角肌前束、肱三头肌，同时发展胸大肌内侧（胸沟）\n",
      "\n",
      "Table 3:\n",
      "    0                                                  1\n",
      "0  手法  全掌式：全手掌撑地的一种方法。拳式：以握拳的形式撑地的一种方法。指式：用手指第一关节撑地的方...\n",
      "1  脚法                 脚的位置关系：两脚并拢式和开立式脚撑地的形式：脚尖式、脚背式和脚弓式\n",
      "\n",
      "Table 4:\n",
      "    常用方法       分项                      具体要求\n",
      "0  快慢结合法  头高位、头低位            先快后慢、先慢后快、交换交替\n",
      "1  定时计数法  不停顿、可停顿           在一定单位时间内计数练习的次数\n",
      "2  定数计时法  一般法、五指法        在完成一定数量的练习后计算所用的时间\n",
      "3  计数练习法  连续法、间接法  计算发挥最大能量所做的次数，但有一定的要求和规定\n",
      "4  综合练习法  比赛法、游戏法           采用多种姿势和方法进行变换练习\n",
      "\n",
      "Table 5:\n",
      "       0                                             1\n",
      "0  普通练习法                           按教学与训练时规定的动作要求进行练习。\n",
      "1  负重练习法              在普通练习法的基础上，身体的腰背、腿等部位放置或捆绑适量的重物。\n",
      "2  击掌练习法                          在快速有力地推掌后，双手在空中击一次掌。\n",
      "3  腾空练习法  可分为原地和行进两种。须在俯卧后快速有力推起，使手脚同时离地，并有一定的腾空高度和远度。\n",
      "\n",
      "Table 6:\n",
      "      0       1       2       3       4       5       6       7\n",
      "0    分值      年龄      年龄      年龄      年龄      年龄      年龄      年龄\n",
      "1    分值  25-29岁  30-34岁  35-39岁  40-44岁  45-49岁  50-54岁  55-59岁\n",
      "2   100     ≥50     ≥45     ≥40     ≥35     ≥50     ≥48     ≥46\n",
      "3    95      48   43.15    38.3   33.83      49      47      45\n",
      "4    90      46    41.3    36.6   32.26      48      46      44\n",
      "5    85      44   39.45    34.9   30.69      46      44      42\n",
      "6    80      42    37.6    33.2   29.12      44      42      40\n",
      "7    75      40   35.75    31.5   27.55      42      40      38\n",
      "8    70      38    33.9    29.8   25.98      40      38      36\n",
      "9    65      36   32.05    28.1   24.41      38      36      34\n",
      "10   60      34    30.2    26.4   22.84      36      34      32\n",
      "11   55      32   28.35    24.7   21.27      34      32      30\n",
      "12   50      30    26.5      23    19.7      32      30      28\n",
      "13   45      28   24.65    21.3   18.13      30      28      26\n",
      "14   40      26    22.8    19.6   16.56      28      26      24\n",
      "15   35      24   20.95    17.9   14.99      26      24      22\n",
      "16   30      22    19.1    16.2   13.42      24      22      20\n",
      "17   25      20   17.25    14.5   11.85      22      20      18\n",
      "18   20      18    15.4    12.8   10.28      20      18      16\n",
      "19   15      16   13.55    11.1    8.71      18      16      14\n",
      "20   10      14    11.7     9.4    7.14      16      14      12\n",
      "21    5      12    9.85     7.7    5.57      14      12      10\n",
      "22    0     ≤11      ≤9      ≤7      ≤5     ≤13     ≤11      ≤9\n"
     ]
    }
   ],
   "source": [
    "# 尝试使用pd.read_html读取网页中的表格  \n",
    "try:  \n",
    "    dfs = pd.read_html(urls[1])  \n",
    "    print(f\"Found {len(dfs)} tables.\")  \n",
    "    # 打印每个表格的内容  \n",
    "    for index, df in enumerate(dfs):  \n",
    "        print(f\"\\nTable {index+1}:\")  \n",
    "        print(df)  \n",
    "except Exception as e:  \n",
    "    print(f\"An error occurred: {e}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 106,
   "id": "9c26e8b3-b803-42ed-88c1-6afafe194f41",
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "excel_filename = \"D:\\\\大学计算机\\\\大作业爬虫网页\\\\爬虫.xlsx\"\n",
    "\n",
    "# 创建一个pandas DataFrame  \n",
    "df1 = pd.DataFrame({'Content': [result]})\n",
    "df2 = pd.DataFrame(dfs)\n",
    "\n",
    "# 将DataFrame保存到Excel的不同sheet中  \n",
    "with pd.ExcelWriter(excel_filename, engine='openpyxl', mode='w') as writer:  # 使用'w'模式来覆盖现有文件或创建新文件  \n",
    "    df1.to_excel(writer, sheet_name='黄山', index=False)  # 保存第一个DataFrame到Sheet1  \n",
    "    for index, df in enumerate(dfs):  \n",
    "            # 将每个DataFrame追加到不同的sheet，sheet名可以自定义  \n",
    "            df.to_excel(writer, sheet_name=f'俯卧撑{index+1}', index=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "99f9e0f1-6a2e-42e6-82ee-3082355de4f3",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
